﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace DataTier
{
    public enum EjdTypes
    {
        Ejer,
        Lejer,
        Administrator
    }
    public enum KlageStatus
    {
        Modtaget,
        Under_behandling,
        Afsendt,
        Afsluttet,
        Slettet
    }
    public enum Skattecenter
    {
        Billund,
        Bornholm,
        Esbjerg,
        Fredensborg,
        Frederikssund,
        Grenaa,
        Haderslev,
        Herning,
        Hjørring,
        Holbæk,
        Horsens,
        Høje_Taastrup,
        Korsør,
        København,
        Køge,
        Maribo,
        Middelfart,
        Nærum,
        Næstved,
        Odense,
        Randers,
        Skive,
        Struer,
        Svendborg,
        Thisted,
        Tønder,
        Aalborg,
        Århus
    }

    public enum Forureningsniveau
    {
        V1,
        V2,
        V3
    }

    public class Enums
    {
        public static EjdTypes GetEjdType(string ejdType)
        {
            return (EjdTypes) Enum.Parse(typeof(EjdTypes), ejdType);
        }

        public static Forureningsniveau GetForureningsNiveau(string forureningsNiveau)
        {
            var toReturn = Forureningsniveau.V1;
            Enum.TryParse<Forureningsniveau>(forureningsNiveau, true, out toReturn);
            return toReturn;

        }

        public static KlageStatus GetKlageStatus(string klageStatus)
        {
            return (KlageStatus) Enum.Parse(typeof(KlageStatus), klageStatus);
        }
        public static Skattecenter GetSkattecenter(string postnr)
        {
            switch (postnr)
            {
                case "7190": return Skattecenter.Billund;
                case "3700": return Skattecenter.Bornholm;
                case "6700": return Skattecenter.Esbjerg;
                case "3480": return Skattecenter.Fredensborg;
                case "3600": return Skattecenter.Frederikssund;
                case "8500": return Skattecenter.Grenaa;
                case "6100": return Skattecenter.Haderslev;
                case "7400": return Skattecenter.Herning;
                case "9800": return Skattecenter.Hjørring;
                case "4300": return Skattecenter.Holbæk;
                case "8700": return Skattecenter.Horsens;
                case "2630": return Skattecenter.Høje_Taastrup;
                case "4220": return Skattecenter.Korsør;
                case "2450": return Skattecenter.København;
                case "4600": return Skattecenter.Køge;
                case "4930": return Skattecenter.Maribo;
                case "5500": return Skattecenter.Middelfart;
                case "2850": return Skattecenter.Nærum;
                case "4700": return Skattecenter.Næstved;
                case "5000": return Skattecenter.Odense;
                case "8900": return Skattecenter.Randers;
                case "7800": return Skattecenter.Skive;
                case "7600": return Skattecenter.Struer;
                case "5700": return Skattecenter.Svendborg;
                case "7700": return Skattecenter.Thisted;
                case "6270": return Skattecenter.Tønder;
                case "9000": return Skattecenter.Aalborg;
                case "8270": return Skattecenter.Århus;
                default:
                    return Skattecenter.Billund;
            }
        }
        public static string GetPostnr(Skattecenter skattecenter)
        {
            switch (skattecenter)
            {
                case Skattecenter.Billund: return "7190";
                case Skattecenter.Bornholm: return "3700";
                case Skattecenter.Esbjerg: return "6700";
                case Skattecenter.Fredensborg: return "3480";
                case Skattecenter.Frederikssund: return "3600";
                case Skattecenter.Grenaa: return "8500";
                case Skattecenter.Haderslev: return "6100";
                case Skattecenter.Herning: return "7400";
                case Skattecenter.Hjørring: return "9800";
                case Skattecenter.Holbæk: return "4300";
                case Skattecenter.Horsens: return "8700";
                case Skattecenter.Høje_Taastrup: return "2630";
                case Skattecenter.Korsør: return "4220";
                case Skattecenter.København: return "2450";
                case Skattecenter.Køge: return "4600";
                case Skattecenter.Maribo: return "4930";
                case Skattecenter.Middelfart: return "5500";
                case Skattecenter.Nærum: return "2850";
                case Skattecenter.Næstved: return "4700";
                case Skattecenter.Odense: return "5000";
                case Skattecenter.Randers: return "8900";
                case Skattecenter.Skive: return "7800";
                case Skattecenter.Struer: return "7600";
                case Skattecenter.Svendborg: return "5700";
                case Skattecenter.Thisted: return "7700";
                case Skattecenter.Tønder: return "6260";
                case Skattecenter.Aalborg: return "9000";
                case Skattecenter.Århus: return "8270";
                default:
                    return "0000";
            }
        }

        public static string GetAdresse(Skattecenter skattecenter)
        {
            switch (skattecenter)
            {
                case Skattecenter.Billund: return "Kløvervej 42";
                case Skattecenter.Bornholm: return "Munch Petersens Vej 8";
                case Skattecenter.Esbjerg: return "Adgangsvejen 3";
                case Skattecenter.Fredensborg: return "Kratbjerg 236";
                case Skattecenter.Frederikssund: return "Kilde Allé 16";
                case Skattecenter.Grenaa: return "Bredstrupvej 40";
                case Skattecenter.Haderslev: return "Christian X's Vej 22";
                case Skattecenter.Herning: return "Brændgårdvej 10";
                case Skattecenter.Hjørring: return "Parallelvej 11";
                case Skattecenter.Holbæk: return "Jernbanevej 6";
                case Skattecenter.Horsens: return "Løvenørnsgade 25";
                case Skattecenter.Høje_Taastrup: return "Helgeshøj Allé 9";
                case Skattecenter.Korsør: return "Storebælts Erhvervspark 3";
                case Skattecenter.København: return "Sluseholmen 8B";
                case Skattecenter.Køge: return "Gymnasievej 21";
                case Skattecenter.Maribo: return "Brovejen 15 A";
                case Skattecenter.Middelfart: return "Teglgårdsparken 19";
                case Skattecenter.Nærum: return "Rundforbivej 186-188";
                case Skattecenter.Næstved: return "Toldbuen 2";
                case Skattecenter.Odense: return "Lerchesgade 35";
                case Skattecenter.Randers: return "Toldbodgade 3";
                case Skattecenter.Skive: return "Jægervej 2";
                case Skattecenter.Struer: return "Fabriksvej 13";
                case Skattecenter.Svendborg: return "Bryghusvej 30";
                case Skattecenter.Thisted: return "Thisted Kystvej 4";
                case Skattecenter.Tønder: return "Pioner Allé 1";
                case Skattecenter.Aalborg: return "Skibsbyggerivej 5";
                case Skattecenter.Århus: return "Lyseng Alle 1";
                default:
                    return "Not found!";
            }
        }

        public static string GetBy(Skattecenter skattecenter)
        {
            switch (skattecenter)
            {
                case Skattecenter.Billund: return "Billund";
                case Skattecenter.Bornholm: return "Rønne";
                case Skattecenter.Esbjerg: return "Esbjerg";
                case Skattecenter.Fredensborg: return "Fredensborg";
                case Skattecenter.Frederikssund: return "Frederikssund";
                case Skattecenter.Grenaa: return "Grenaa";
                case Skattecenter.Haderslev: return "Haderslev";
                case Skattecenter.Herning: return "Herning";
                case Skattecenter.Hjørring: return "Hjørring";
                case Skattecenter.Holbæk: return "Holbæk";
                case Skattecenter.Horsens: return "Horsens";
                case Skattecenter.Høje_Taastrup: return "Taastrup";
                case Skattecenter.Korsør: return "Korsør";
                case Skattecenter.København: return "København SV";
                case Skattecenter.Køge: return "Køge";
                case Skattecenter.Maribo: return "Maribo";
                case Skattecenter.Middelfart: return "Middelfart";
                case Skattecenter.Nærum: return "Nærum";
                case Skattecenter.Næstved: return "Næstved";
                case Skattecenter.Odense: return "Odense C";
                case Skattecenter.Randers: return "Randers C";
                case Skattecenter.Skive: return "Skive";
                case Skattecenter.Struer: return "Struer";
                case Skattecenter.Svendborg: return "Svendborg";
                case Skattecenter.Thisted: return "Thisted";
                case Skattecenter.Tønder: return "Tønder";
                case Skattecenter.Aalborg: return "Aalborg";
                case Skattecenter.Århus: return "Højbjerg";
                default:
                    return "Not found";
            }
        }
    }
  
}
